home *** CD-ROM | disk | FTP | other *** search
-
- /********************************************************************/
- /* SOURCE CODE FILE */
- /********************************************************************/
- /*
- * >>> File name: 6.2 OvalObject.c
- *
- * >>> Purpose: Methods for Oval Object
- * >>> Project: PoopDraw Version 1
- * >>> Date: 2/20/89
- * >>> By: Adam Treister
- *
- */
- /********************************************************************/
- /* For Your Information 1802 Hillside Rd. SB CA 93101 */
- /********************************************************************/
-
- #include "PoopDrawInc"
-
- void ObjectDrawHandles(ObjectHandle ObjectH);
-
- /***** Object Type Defs *********************************************/
-
- typedef DrawObjectRec OvalObjectRec;
- typedef DrawObjectPtr OvalObjectPtr;
- typedef DrawObjectHandle OvalObjectHandle;
-
- /***** Public Functions *********************************************/
-
- ObjectHandle NewOvalObj(LPtr ParmP);
-
- /***** Private Functions ********************************************/
-
- private ObjDispatch(ObjectHandle ObjectH,int Message,LPtr ParmP);
- private Draw(OvalObjectHandle ObjectH);
- private Frame(OvalObjectHandle ObjectH);
-
- /********************************************************************/
-
-
- ObjDispatch(ObjectH,Message,ParmP)
- ObjectHandle ObjectH;
- int Message;
- LPtr ParmP;
-
- {
- switch(Message)
- {
-
- case DRAW: Draw(ObjectH); break;
- case FRAME: Frame(ObjectH); break;
- default: DrawObjectDispatch(ObjectH,Message,ParmP);
- }
- }
-
- /*---------------------------------------------------------------*/
-
- ObjectHandle NewOvalObj(ParmP)
- LPtr ParmP;
- {
- OvalObjectHandle obj;
- Rect r;
-
- r = *(Rect *) ParmP;
- SortRect(&r);
- if (EmptyRect(&r)) return(NULL);
- obj = _GetHandleToRecord(OvalObjectRec);
- NullOutHandle(obj);
- (*obj)->dispatch = ObjDispatch;
- (*obj)->class = OVAL;
- Dispatch(obj,INIT,&r);
- Dispatch(obj,INVAL,NULL);
- return((ObjectHandle)obj);
- }
-
- /*---------------------------------------------------------------*/
-
- Draw(ObjectH)
- OvalObjectHandle ObjectH;
- {
- if (BitTst(&(*ObjectH)->attributes,VisibleBit))
- {
- register DrawStateRec drawState;
- Rect r;
-
- r = (*ObjectH)->bounds;
- /* InsetRect(&r,HANDRAD,HANDRAD);
- */
- drawState = (*ObjectH)->drawState;
- PenNormal();
- PenPat(**(GetPattern(drawState.fillPat)));
- PaintOval(&(*ObjectH)->bounds);
- PenPat(**(GetPattern(drawState.penPat)));
- PenSize(drawState.penSize,drawState.penSize);
- FrameOval(&(*ObjectH)->bounds);
-
- if (BitTst(&(*ObjectH)->attributes,SelectedBit))
- { Dispatch(SELF,DRAWHANDLES,NULL);
- }
-
- }
- }
- /*---------------------------------------------------------------*/
-
- Frame(ObjectH)
- OvalObjectHandle ObjectH;
- {
- FrameOval(&(*ObjectH)->bounds);
- }
-
-